// 配置 ajax 的基础路径
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net'

// 请求拦截器
axios.interceptors.request.use(function (config) {
    // 给/my开头的请求添加 身份认证信息
    // console.log(config);
    // 判断: 只要包含 /my/ 就添加token
    // if (config.url.indexOf('/my/') >= 0 ) {
    // if (config.url.includes('/my/') > -1 ) {
    if (config.url.includes('/my/')) {
        config.headers.Authorization = localStorage.getItem('token')
    }

    // 必须要返回 config
    return config
},function (error) {
    // 这个语法我们后面讲, 现在不考虑请求出错误的情况
    return Promise.reject(error)
})

// 响应拦截器
axios.interceptors.response.use(function (response) {
    // 处理响应内容
    //   如果身份认证失败,那么就跳转到登录页面
    let obj = response.data
    if (obj.message === "身份认证失败！") {
        // 页面跳转
        location.href = '/login.html'
        // 删除无效token
        localStorage.removeItem('token')
    }

    // 下面的代码,可以让 axios 中的返回数据和 jQuery 中的ajax返回的数据一样
    // response = response.data

    // 返回响应对象
    return response
},function (error) {
    // 这个语法我们后面讲, 现在不考虑请求出错误的情况
    return Promise.reject(error)
})

// 格式化日期方法
function dateFormat(str) {
    // console.log(str)
    let dt = new Date(str)
    // console.log(dt)
    let yy = dt.getFullYear()
    let mm = padZero(dt.getMonth() + 1)
    let ss = padZero(dt.getDate())

    let h = padZero(dt.getHours())
    let m = padZero(dt.getMinutes())
    let s = padZero(dt.getSeconds())

    return `${yy}-${mm}-${ss} ${h}:${m}:${s}`
}

// 补0函数
function padZero(n) {
    // 返回要return,0要带引号
    return n < 10 ? '0' + n : n
}